Moving picture coding method and moving picture decoding method

ABSTRACT

A moving picture coding apparatus  1  includes: a quantization matrix holding unit ( 112 ) that holds a quantization matrix (WM) which has already been transmitted in a parameter set and a matrix ID for identifying the quantization matrix (WM), which are associated with each other; and a variable length coding unit ( 111 ) that obtains the matrix ID corresponding to the quantization matrix (WM) used for quantization from the quantization matrix holding unit ( 112 ) and places the matrix ID in a coded stream Str.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a reissue application of U.S. Ser. No. 13/488,242, filed Jun. 4,2012, now U.S. Pat. No. 8,396,116, which is a divisional application ofU.S. Ser. No. 13/039,079, filed on Mar. 2, 2011, now U.S. Pat. No.8,218,623, which is a divisional application of U.S. Ser. No. 10/569,872filed on Feb. 28, 2006, now U.S. Pat. No. 7,933,327, from InternationalApplication No. PCT/2005/002458 which claims priority from U.S.Provisional Application 60/540,499 filed Jan. 30, 2004, U.S. ProvisionalApplication 60/552,907 filed Mar. 12, 2004, and U.S. ProvisionalApplication 60/561,351 filed Apr. 12, 2004.

TECHNICAL FIELD

The present invention relates to a moving picture coding method forcoding moving pictures and generating streams and a moving picturedecoding method for decoding such coded streams, as well as the streams.

BACKGROUND ART

In the age of multimedia which integrally handles audio, video and otherpixel values, existing information media, i.e., newspaper, magazine,television, radio, telephone and other means through which informationis conveyed to people, have recently come to be included in the scope ofmultimedia. Generally, multimedia refers to something that isrepresented by associating not only characters, but also graphics,audio, and especially pictures and the like together. However, in orderto include the aforementioned existing information media into the scopeof multimedia, it appears as a prerequisite to represent suchinformation in digital form.

However, when calculating the amount of information contained in each ofthe aforementioned information media as the amount of digitalinformation, while the amount of information per character is 1 to 2bytes in the case of characters, the amount of information to berequired is 64 Kbits per second in the case of audio (telephonequality), and 100 Mbits per second in the case of moving pictures(current television reception quality). Therefore, it is not realisticfor the aforementioned information media to handle such an enormousamount of information as it is in digital form. For example, althoughvideo phones are already in the actual use by using Integrated ServicesDigital Network (ISDN) which offers a transmission speed of 64 Kbits/sto 1.5 Mbits/s, it is not practical to transmit video of televisions andcameras directly through ISDN.

Against this backdrop, information compression techniques have becomerequired, and moving picture compression techniques compliant with H.261and H.263 standards recommended by ITU-T (InternationalTelecommunication Union-Telecommunication Standardization Sector) areemployed for video phones, for example. Moreover, according toinformation compression techniques compliant with the MPEG-1 standard,it is possible to store picture information into an ordinary music CD(compact disc) together with sound information.

Here, MPEG (Moving Picture Experts Group) is an international standardon compression of moving picture signals standardized by ISO/IEC(International Organization for Standardization, InternationalElectrotechnical Commission), and MPEG-1 is a standard for compressingtelevision signal information approximately into one hundredth so thatmoving picture signals can be transmitted at a rate of 1.5 Mbit/s.Furthermore, since a transmission speed achieved by the MPEG-1 standardis a middle-quality speed of about 1.5 Mbit/s, MPEG-2, which wasstandardized with a view to satisfying requirements for further improvedpicture quality, allows data transmission equivalent in quality totelevision broadcasting through which moving picture signals aretransmitted at a rate of 2 to 15 Mbit/s. Moreover, MPEG-4 wasstandardized by the working group (ISO/IEC JTC1/SC29/WG11) whichpromoted the standardization of MPEG-1 and MPEG-2. MPEG-4, whichprovides a higher compression ratio than that of MPEG-1 and MPEG-2 andwhich enables an object-based coding/decoding/operation, is capable ofproviding a new functionality required in this age of multimedia. At thebeginning stage of standardization, MPEG-4 aimed at providing a low bitrate coding method, but it has been extended as a standard supportingmore general coding that handles interlaced images as well as high bitrate coding. Currently, an effort has been made jointly by ISO/IEC andITU-T for standardizing MPEG-4 AVC and ITU-T H.264 as picture codingmethods of the next generation that offer a higher compression ratio. Asof August 2002, a committee draft (CD) is issued for a picture codingmethod of the next generation.

In general, in coding of a moving picture, the amount of information iscompressed by reducing redundancies in temporal and spatial directions.Therefore, in inter picture prediction coding aiming at reducingtemporal redundancies, motion estimation and generation of a predicativeimage are carried out on a block-by-block basis with reference toforward or backward picture(s), and coding is then performed on thedifference value between the obtained predictive image and an image inthe current picture to be coded. Here, “picture” is a term denoting oneimage. In the case of a progressive image, “picture” means a frame,whereas it means a frame or fields in the case of an interlaced image.Here, “interlaced image” is an image of a frame composed of two fieldswhich are separated in capture time. In coding and decoding of aninterlaced image, it is possible to handle one frame as a frame as itis, as two fields, or as a frame structure or a field structure on aper-block basis within the frame.

A picture to be coded using intra picture prediction without referenceto any pictures shall be referred to as an I picture. A picture to becoded using inter picture prediction with reference to only one pictureshall be referred to as a P picture. And, a picture to be coded usinginter picture prediction with reference to two pictures at the same timeshall be referred to as a B picture. It is possible for a B picture torefer to two pictures which can be arbitrarily combined fromforward/backward pictures in display order. Reference images (referencepictures) can be determined for each block serving as a basiccoding/decoding unit. Distinction shall be made between such referencepictures by calling a reference picture to be described earlier in acoded bitstream as a first reference picture, and by calling a referencepicture to be described later in the bitstream as a second referencepicture. Note that as a condition for coding and decoding these types ofpictures, pictures used for reference are required to be already codedand decoded.

P pictures and B pictures are coded using motion compensated interpicture prediction. Coding by use of motion compensated inter pictureprediction is a coding method that employs motion compensation in interpicture prediction coding. Unlike a method for performing predictionsimply based on pixel values in a reference picture, motion estimationis a technique capable of improving prediction accuracy as well asreducing the amount of data by estimating the amount of motion(hereinafter referred to as “motion vector”) of each part within apicture and further by performing prediction in consideration of suchamount of motion. For example, it is possible to reduce the amount ofdata through motion compensation by estimating motion vectors of thecurrent picture to be coded and then by coding prediction residualsbetween prediction values obtained by shifting only the amount of therespective motion vectors and the current picture to be coded. In thistechnique, motion vectors are also recorded or transmitted in codedform, since motion vector information is required at the time ofdecoding.

Motion vectors are estimated on a per-macroblock basis. Morespecifically, a macroblock shall be previously fixed in the currentpicture to be coded, so as to estimate motion vectors by finding theposition of the most similar reference block of such fixed macroblockwithin the search area in a reference picture.

FIG. 1 is a diagram illustrating an example data structure of abitstream. As FIG. 1 shows, the bitstream has a hierarchical structuresuch as below. The bitstream (Stream) is formed of more than one groupof pictures (GOP). By using GOPs as basic coding units, it becomespossible to edit a moving picture as well as to make a random access.Each GOP is made up of plural pictures, each of which is one of Ipicture, P picture, and B picture. Each picture is further made up ofplural slices. Each slice, which is a strip-shaped area within eachpicture, is made up of plural macroblocks. Moreover, each stream, GOP,picture, and slice includes a synchronization signal (sync) forindicating the ending point of each unit and a header (header) which isdata common to said each unit.

Note that when data is carried not in a bitstream being a sequence ofstreams, but in a packet and the like being a piecemeal unit, the headerand the data portion, which is the other part than the header, may becarried separately. In such a case, the header and the data portionshall not be incorporated into the same bitstream, as shown in FIG. 1.In the case of a packet, however, even when the header and the dataportion are not transmitted contiguously, it is simply that the headercorresponding to the data portion is carried in another packet.Therefore, even when the header and the data portion are notincorporated into the same bitstream, the concept of a coded bitstreamdescribed with reference to FIG. 1 is also applicable to packets.

Generally speaking, the human sense of vision is more sensitive to thelow frequency components than to the high frequency components.Furthermore, since the energy of the low frequency components in apicture signal is larger than that of the high frequency components,picture coding is performed in order from the low frequency componentsto the high frequency components. As a result, the number of bitsrequired for coding the low frequency components is larger than thatrequired for the high frequency components.

In view of the above points, the existing coding methods use largerquantization steps for the high frequency components than for the lowfrequency components when quantizing transformation coefficients, whichare obtained by orthogonal transformation, of the respectivefrequencies. This technique has made it possible for the conventionalcoding methods to achieve a large increase in compression ratio with asmall loss of picture quality from the standpoint of viewers.

Meanwhile, since quantization step sizes of the high frequencycomponents with regard to the low frequency components depend on picturesignal, a technique for changing the sizes of quantization steps for therespective frequency components on a picture-by-picture basis has beenconventionally employed. A quantization matrix is used to derivequantization steps of the respective frequency components. FIG. 2 showsan example quantization matrix. In this drawing, the upper leftcomponent is a direct current component, whereas rightward componentsare horizontal high frequency components and downward components arevertical high frequency components. The quantization matrix in FIG. 2also indicates that a larger quantization step is applied to a largervalue. Usually, it is possible to use different quantization matricesfor each picture, and the matrix to be used is described in each pictureheader. Therefore, even if the same quantization matrix is used for allthe pictures, it is described in each picture header and carried one byone.

Meanwhile, current MPEG-4 AVC does not include quantization matrix as inMPEG-2 and MPEG-4. This results in difficulty in achieving optimalsubjective quality in the current MPEG-4 AVC coding scheme and otherschemes using uniform quantization in all DCT or DCT-like coefficients.When such quantization matrix scheme is introduced, we have to allow thecurrent provision of MPEG-4 AVC or other standards to carry thequantization matrices, in consideration of compatibility with theexisting standards.

Additionally, because of the coding efficiency improvement, MPEG-4 AVChas been able to provide the potential to be used in various applicationdomains. The versatility warrants the use of different sets ofquantization matrices for different applications; different sets ofquantization matrices for different color channels, etc. Encoders canselect different quantization matrices depending on application or imageto be coded. Because of that, we must develop an efficient quantizationmatrix definition and loading protocol to facilitate the flexible yeteffective transmission of quantization matrix information.

DISCLOSURE OF INVENTION

The present invention has been conceived in view of the abovecircumstances, and it is an object of the present invention to provide amoving picture coding method and a moving picture decoding method thatare capable of reducing the amount of data to be coded and improvingcoding efficiency.

In order to achieve the above objective, the moving picture codingmethod according to the present invention is a moving picture codingmethod for coding, on a block-by-block basis, each picture that makes upa moving picture, and generating a coded stream, the method comprising:transforming, on a block-by-block basis, each picture into coefficientsrepresenting spatial frequency components; quantizing the coefficientsusing a quantization matrix; generating identification information thatidentifies the quantization matrix used for quantization; and placingthe identification information in the coded stream in predeterminedunits.

According to the above method, since there is no need to describe aquantization matrix used for quantization in the predetermined units,for example, picture, slice, macroblock or the like, it becomes possibleto reduce the amount of data to be coded and thus perform coding of thedata efficiently.

In the above method, the quantization matrix may be stored into thecoded stream at a location that can be accessed before the data obtainedby quantizing the coefficients using said quantization matrix can beretrieved.

Here, in the storage, the quantization matrix may be stored into a firstparameter set or a second parameter set for holding informationnecessary for decoding, the first parameter set or the second parameterset being placed in the coded stream at the location that can beaccessed before the data obtained by quantizing the coefficients usingthe quantization matrix can be retrieved.

According to the above method, it becomes possible to use, for decoding,the quantization matrix identified by the identification information.

In the above-mentioned moving picture coding method, a flag may beplaced in the coded stream in predetermined units, the flag indicatingswitching between the quantization matrix identifiable by theidentification information and a default quantization matrix.

According to the above method, it becomes possible to indicate switchingbetween the quantization matrix identifiable by the identificationinformation and the default quantization matrix, using theidentification information.

The moving picture decoding method according to the present invention isa moving picture decoding method for decoding a coded stream obtained bycoding each picture that makes up a moving picture through orthogonaltransformation and quantization on a block-by-block basis, the methodcomprising: holding at least one quantization matrix; extracting, inpredetermined units, identification information that identifies aquantization matrix used for quantization, from the coded stream;identifying the quantization matrix based on the identificationinformation from the at least one held quantization matrix; performinginverse quantization of each coded picture on a block-by-block basisusing the identified quantization matrix; and decoding the coded pictureby performing inverse orthogonal transformation on inverse quantizedcoefficients indicating spatial frequency components.

According to the above method, it becomes possible to decode a codedstream in which only the matrix ID for identifying the quantizationmatrix used for quantization is placed in predetermined units, such aspicture, slice, macroblock or the like, while the quantization matrixhas previously been carried separately.

In the above-mentioned moving picture decoding method, at least onequantization matrix may be extracted from the coded stream, and in theholding, the quantization matrix extracted from the coded stream may beheld.

Here, in the extracting, the quantization matrix may be extracted from afirst parameter set or a second parameter set in which informationnecessary for decoding is stored.

According to the above method, it becomes possible to use thequantization matrix identified by the identification information.

In the above-mentioned moving picture decoding method, a flag may beextracted from the coded stream in predetermined units, the flagindicating switching between the quantization matrix identified by theidentification information and a default quantization matrix, and in theidentifying, the quantization matrix identified by the identificationinformation and the default quantization matrix may be switched.

According to the above method, it becomes possible to switch between thequantization matrix identified by the identification information and thedefault quantization matrix, based on the flag.

In the above method, each picture is made up of luma components and twotypes of chroma components, and in the identifying, in the case wherethere is no quantization matrix for chroma components in thequantization matrices identified based on the identificationinformation, a quantization matrix for luma components may be identifiedas the quantization matrix to be used.

Also, each picture is made up of a luma component and two types ofchroma components, and in the identifying, in the case where there is noquantization matrix for chroma components of a type corresponding tocurrent decoding in the quantization matrices identified based on theidentification information, a quantization matrix for another type ofchroma components may be identified as the quantization matrix to beused.

According to the above method, it becomes possible to decode a codedstream even if there is no quantization matrix for chroma.

Furthermore, not only is it possible to embody the present invention asa moving picture coding method and a moving picture decoding method, butalso as a moving picture coding apparatus and a moving picture decodingapparatus that include, as steps, the characteristic units included insuch moving picture coding method and moving picture decoding method. Itis also possible to embody them as programs that cause a computer toexecute these steps, or as streams coded by the moving picture codingmethod. It should be noted that such programs and coded streams can bedistributed on a recording medium such as a CD-ROM and via atransmission medium such as the Internet.

As is obvious from the above explanation, according to the movingpicture coding method and the moving picture decoding method of thepresent invention, it becomes possible to reduce an amount of data to becoded and achieve efficient coding and decoding.

BRIEF DESCRIPTION OF DRAWINGS

These and other objects, advantages and features of the invention willbecome apparent from the following description thereof taken inconjunction with the accompanying drawings that illustrate a specificembodiment of the invention. In the Drawings:

FIG. 1 is a diagram illustrating an example data structure of abitstream;

FIG. 2 is a diagram showing an example quantization matrix;

FIG. 3 is a block diagram showing a structure of a moving picture codingapparatus that embodies the moving picture coding method according tothe present invention;

FIG. 4 is a diagram showing correspondence between sequence parametersets and picture parameter sets and pictures;

FIG. 5 is a diagram showing a part of a structure of a sequenceparameter set;

FIG. 6 is a diagram showing a part of a structure of a picture parameterset;

FIG. 7 is a diagram showing an example description of quantizationmatrices in a parameter set;

FIG. 8 is a flowchart showing operations for placing a matrix ID;

FIG. 9 is a block diagram showing a structure of a moving picturedecoding apparatus that embodies the moving picture decoding methodaccording to the present invention;

FIG. 10 is a flowchart showing operations for identifying a quantizationmatrix;

FIG. 11 is a flowchart showing operations for identifying a quantizationmatrix to be used for chroma components;

FIG. 12 is a diagram showing correspondence between quantizationmatrices carried as separate data and quantization matrices to be usedfor sequences;

FIGS. 13A to 13C are diagrams illustrating a recording medium thatstores a program for realizing, by a computer system, the moving picturecoding method and the moving picture decoding method according to theabove embodiments, and particularly, FIG. 13A is a diagram illustratingan example physical format of a flexible disk as a main body of arecording medium, FIG. 13B is a full appearance of the flexible diskviewed from the front thereof, a cross-sectional view thereof and theflexible disk itself, and FIG. 13C is a diagram illustrating a structurefor recording and reproducing the above program on and from the flexibledisk;

FIG. 14 is a block diagram showing an overall configuration of a contentsupply system that embodies a content distribution service;

FIG. 15 is a diagram showing an example of a cellular phone;

FIG. 16 is a block diagram showing an inner structure of the cellularphone; and

FIG. 17 is a diagram showing an overall configuration of a digitalbroadcasting system.

BEST MODE FOR CARRYING OUT THE INVENTION

The embodiments of the present invention are described by referring todiagrams.

First Embodiment

FIG. 3 is a block diagram showing the structure of a moving picturecoding apparatus that embodies the moving picture coding method of thepresent invention.

A picture coding apparatus 1 is an apparatus for performing compressioncoding on an input picture signal Vin and outputting a coded stream Strwhich has been coded into a bitstream by performing variable lengthcoding and the like. As shown in FIG. 3, such picture coding apparatus 3is comprised of a motion estimation unit 101, a motion compensation unit102, a subtraction unit 103, an orthogonal transformation unit 104, aquantization unit 105, an inverse quantization unit 106, an inverseorthogonal transformation unit 107, an addition unit 108, a picturememory 109, a switch 110, a variable length coding unit 111 and aquantization matrix holding unit 112.

The picture signal Vin is inputted to the subtraction unit 103 and themotion estimation unit 101. The subtraction unit 103 calculates residualpixel values between each image in the input picture signal Vin and eachpredictive image, and outputs the calculated residual pixel values tothe orthogonal transformation unit 104. The orthogonal transformationunit 104 transforms the residual pixel values into frequencycoefficients, and outputs them to the quantization unit 105. Thequantization unit 105 quantizes the inputted frequency coefficientsusing inputted quantization matrix WM, and outputs the resultingquantized values Qcoef to the variable length coding unit 111.

The inverse quantization unit 106 performs inverse quantization on thequantized values Qcoef using the inputted quantization matrix WM, so asto turn them into the frequency coefficients, and outputs them to theinverse orthogonal transformation unit 107. The inverse orthogonaltransformation unit 107 performs inverse frequency transformation on thefrequency coefficients so as to transform them into residual pixelvalues, and outputs them to the addition unit 108. The addition unit 108adds the residual pixel values and each predictive image outputted fromthe motion estimation unit 102, so as to form a decoded image. Theswitch 110 turns ON when it is indicated that such decoded image shouldbe stored, and such decoded image is to be stored into the picturememory 109.

Meanwhile, the motion estimation unit 101, which receives the picturesignal Vin on a macroblock basis, detects an image area closest to animage signal in such inputted picture signal Vin within a decodedpicture stored in the picture memory 109, and determines motionvector(s) MV indicating the position of such area. Motion vectors areestimated for each block, which is obtained by further dividing amacroblock. When this is done, it is possible to use more than onepicture as reference pictures. Here, since a plurality of pictures canbe used as reference pictures, identification numbers (reference indicesIndex) to identify the respective reference pictures are required on ablock-by-block basis. With the use of the reference indices Index, it ispossible to identify each reference picture by associating each picturestored in the picture memory 109 with the picture number designated tosuch each picture.

The motion compensation unit 102 selects, as a predictive image, themost suitable image area from among decoded pictures stored in thepicture memory 109, using the motion vectors detected in the aboveprocessing and the reference indices Index.

The quantization matrix holding unit 112 holds the quantization matrixWM which has already been carried as a part of a parameter set and thematrix ID that identifies this quantization matrix WM in the manner inwhich they are associated with each other.

The variable length coding unit 111 obtains, from the quantizationmatrix holding unit 112, the matrix ID corresponding to the quantizationmatrix WM used for quantization. The variable length coding unit 111also performs variable length coding on the quantization values Qcoef,the matrix IDs, the reference indices Index, the picture types Ptype andthe motion vectors MV so as to obtain a coded stream Str.

FIG. 4 is a diagram showing the correspondence between sequenceparameter sets and picture parameter sets and pictures. FIG. 5 is adiagram showing a part of a structure of a sequence parameter set, andFIG. 6 is a diagram showing a part of a structure of a picture parameterset. While a picture is made up of slices, all the slices included inthe same picture have identifiers indicating the same picture parameterset.

In MPEG-4 AVC, there is no concept of a header, and common data isplaced at the top of a sequence under the designation of a parameterset. There are two types of parameter sets, a picture parameter set PPSthat is data corresponding to the header of each picture, and a sequenceparameter set SPS corresponding to the header of a GOP or a sequence inMPEG-2. A sequence parameter set SPS includes the number of picturesthat are available as reference pictures, image size and the like, whilea picture parameter set PPS includes a type of variable length coding(switching between Huffman coding and arithmetic coding), default valuesof quantization matrices, the number of reference pictures, and thelike.

An identifier is assigned to a sequence parameter set SPS, and to whichsequence a picture belongs is identified by specifying this identifierin a picture parameter set PPS. An identifier is also assigned to apicture parameter set PPS, and which picture parameter set PPS is to beused is identified by specifying this identifier in a slice.

For example, in the example shown in FIG. 4, a picture #1 includes theidentifier (PPS=1) of a picture parameter set PPS to be referred to by aslice included in the picture #1. The picture parameter set PPS #1includes the identifier (SPS=1) of a sequence parameter set to bereferred to.

Furthermore, the sequence parameter set SPS and the picture parameterset PPS respectively include flags 501 and 601 indicating whether or notquantization matrices are carried as shown in FIG. 5 and FIG. 6, and inthe case where the quantization matrices are to be carried, quantizationmatrices 502 and 602 are respectively described therein.

The quantization matrix can be changed adaptively to the unit ofquantization (for example, horizontal 4×vertical 4 pixels and horizontal8×vertical 8 pixels).

FIG. 7 is a diagram showing an example description of quantizationmatrices in a parameter set.

Since a picture signal Vin consists of luma components and two types ofchroma components, it is possible to use different quantization matricesfor luma components and two types of chroma components separately whenperforming quantization. It is also possible to use differentquantization matrices for intra-picture coding and inter-picture codingseparately.

Therefore, for example, as shown in FIG. 7, it is possible to describequantization matrices for a unit of quantization, luma components andtwo types of chroma components, and intra-picture coding andinter-picture coding, respectively.

The operations for placing matrix IDs in the above-structured movingpicture coding apparatus are explained. FIG. 8 is a flowchart showingthe operations for placing a matrix ID.

The variable length coding unit 111 obtains a quantization matrix WMused for quantization (Step S101). Next, the variable length coding unit111 judges whether or not the obtained quantization matrix WM is held inthe quantization matrix holding unit 112 (Step S102). Here, in the casewhether the obtained quantization matrix WM is held in the quantizationmatrix holding unit 112 (YES in Step S102), the variable length codingunit 111 obtains the matrix ID corresponding to the obtainedquantization matrix WM from the quantization matrix holding unit 112(Step S103). Then, the variable length coding unit 111 places theobtained matrix ID in predetermined units (for example, per picture,slice or macroblock) (Step S104).

On the other hand, in the case where the obtained quantization matrix WMis not held in the quantization matrix holding unit 112 (NO in StepS102), the quantization matrix holding unit 112 generates the matrix IDfor this quantization matrix WM (Step S105). Then, the quantizationmatrix holding unit 112 holds this quantization matrix WM and the matrixID in the manner in which they are associated with each other (StepS106). The variable length coding unit 111 places the generated matrixID in predetermined units (for example, per picture, slice ormacroblock) (Step S107). The variable length coding unit 111 describesthe generated matrix ID and the quantization matrix WM in the parameterset (Step S108). Note that the parameter set in which these matrix IDand quantization matrix WM are described is carried earlier, in a codedstream Str, than the predetermined units (that is, coded data quantizedusing this quantization matrix WM) to which this matrix ID is placed.

As described above, since quantization matrices WM are described in aparameter set and carried while only the matrix ID that identifies thequantization matrix WM used in predetermined units (for example, perpicture, slice or macroblock) is placed therein, there is no need todescribe the quantization matrix WM used in every predetermined unit.Therefore, it becomes possible to reduce the amount of data to be codedand achieve efficient coding.

Note that it is possible to update a quantization matrix WM carried in asequence parameter set SPS and carry the updated one (with the samematrix ID) in a picture parameter set PPS. In this case, the updatedquantization matrix WM is used only when the picture parameter set PPSis referenced.

It is also possible to include in a coded stream a flag indicatingswitching between the default quantization matrix WM and thequantization matrix WM identified by a matrix ID. In this case, thedefault quantization matrix WM is replaced with the quantization matrixWM identified by the matrix ID according to the flag.

FIG. 9 is a block diagram showing a structure of a moving picturedecoding apparatus that embodies the moving picture decoding methodaccording to the present invention.

The moving picture decoding apparatus 2 is an apparatus that decodes acoded stream obtained by the coding by the moving picture codingapparatus 1 as described above, and includes a variable length decodingunit 201, a quantization matrix holding unit 202, a picture memory 203,a motion compensation unit 204, an inverse quantization unit 205, aninverse orthogonal transformation unit 206 and an addition unit 207.

The variable length decoding unit 201 decodes the coded stream Str, andoutputs quantized values Qcoef, reference indices Index, picture typesPtype and motion vectors MV. The variable length decoding unit 201 alsodecodes the coded stream, identifies a quantization matrix WM based onan extracted matrix ID, and outputs the identified quantization matrixWM.

The quantization matrix holding unit 202 associates the quantizationmatrix WM which has already been carried in a parameter set with thematrix ID that identifies this quantization matrix WM, and holds them.

The quantized values Qcoef, reference indices Index and motion vectorsMV are inputted to the picture memory 203, the motion compensation unit204 and the inverse quantization unit 205, and decoding processing isperformed on them. The operations for the decoding are same as those inthe moving picture coding apparatus 1 shown in FIG. 3.

Next, the operations for identifying a quantization matrix in theabove-structured moving picture decoding apparatus are explained. FIG.10 is a flowchart showing the operations for identifying a quantizationmatrix.

The variable length decoding unit 201 decodes a coded stream Str andextracts a matrix ID placed in predetermined units (Step S201). Next,the variable length decoding unit 201 identifies a quantization matrixWM from among quantization matrices held in the quantization matrixholding unit 202, based on the extracted matrix ID (Step S202). Then,the variable length decoding unit 201 outputs the identifiedquantization matrix WM to the inverse quantization unit 205 (Step S203).

As described above, while a quantization matrices WM are described in aparameter set and carried, it is possible, in predetermined units (forexample, per picture, per slice or per macroblock), to decode a codedstream in which only the matrix ID that identifies the used quantizationmatrix WM is placed.

Note that quantization matrices WM are described in a parameter set andcarried in the present embodiment but the present invention is notlimited to such case. For example, quantization matrices may bepreviously transmitted separately from a coded stream.

By the way, since a picture signal Vin is made up of luma components andtwo types of chroma components as described above, it is possible to usedifferent quantization matrices separately for luma components and twotypes of chroma components for quantization. It is also possible to usean uniform quantization matrix for all the components.

Next, the operations for identifying quantization matrices to be usedfor chroma components are explained. FIG. 11 is a flowchart showing theoperations for identifying quantization matrices to be used for chromacomponents.

The variable length decoding unit 201 judges whether or not there is aquantization matrix for chroma components of the type corresponding tothe current decoding among the quantization matrices WM identified asmentioned above (Step S301). For example, in the case where a quantizedvalue Qcoef to be decoded is a first chroma component, it judges whetheror not there is a quantization matrix for the first chroma components.In the case where a quantized value Qcoef to be decoded is a secondchroma component, it judges whether or not there is a quantizationmatrix for the second chroma components. Here, if there is aquantization matrix for the corresponding type of chroma components (YESin Step S301), it outputs the corresponding chroma quantization matrixto the inverse quantization unit 205 as a matrix to be used (Step S302).

On the other hand, if there is no such corresponding chroma quantizationmatrix (NO in Step S301), the variable length decoding unit 201 judgeswhether or not there is a quantization matrix for another type of chromacomponents (Step S303). For example, in the case where a quantized valueQcoef to be decoded is a first chroma component, it judges whether ornot there is a quantization matrix for the second chroma components. Inthe case where a quantized value Qcoef to be decoded is a second chromacomponent, it judges whether or not there is a quantization matrix forthe first chroma components. Here, if there is a correspondingquantization matrix for another type of chroma components (YES in StepS303), it outputs the quantization matrix for another type of chromacomponents to the inverse quantization unit 205 as a matrix to be used(Step S304). On the other hand, if there is no quantization matrix foranother type of chroma components (NO in Step S303), it outputs thequantization matrix for the luma components to the inverse quantizationunit 205 as a matrix to be used (Step S305).

As a result, it becomes possible to decode a coded stream even if thereis no chroma quantization matrix.

Second Embodiment

The key points in the present embodiment are as follows.

1. If there are multiple sequence-level stream description datastructures selectable by a different part of a video bitstream, thequantization matrix shall be carried in a data structure separate fromany of the sequence header data structure.

2. Multiple quantization matrices customized by users are defined at thebeginning of a sequence video stream. The quantization matrices shall beselectable at different pictures at different locations in a bitstream.MPEG-2 uses quantization matrix scheme but it did not use a set ofmatrices from which one of them can be selected. It has to reload a newmatrix when a quantization matrix is updated.

3. How frequent the update would be performed is specified as syntaxelements to apply the quantization updates, so that the quantizationmatrix update scheme is compatible with the above description. In thescheme of the present embodiment, MPEG-2 single effective quantizationmatrix and later update is only a special case of this update scheme.

Next, the overview of the present embodiment is described.

In some video coding standards, there may be several segments in asequence that are encoded using different encoding configurations, andas such, they require different sequence or segment header descriptorsfor each segment in the sequence. As transmitting quantization matrixtakes considerable number of bits, we place all quantization matricesused in a sequence somewhere separate from any of the sequence orsegment headers. For segments of the sequence that use different sets ofquantization matrices, it only needs to reference the quantizationmatrices, such as an identification number, rather than transmitting thematrix from an encoder to decoders every time the matrix is used, whichis the mechanism that MPEG-2 has used.

All the quantization matrices that are not specified in the videocoderc's specification should be defined and grouped together. Thesegment or block of the bitstream that carries these quantizationmatrices should be placed at the beginning of the bitstream of asequence before any encoded video data are transmitted. As choices thatcan be made by different video codec standards, those quantizationmatrices can be included as part of the video elementary stream, or canbe carried out-of-band, such as in transport stream or in packets or infiles separate from the main body of the video stream.

In many codec specifications, such as MPEG-2, MPEG-4, there arelower-level data structures contained in a sequence segment, whichorganizes video data into “group of pictures”, pictures, slices, layers,macroblocks, so on. If a sequence segment header or descriptorreferences more than one set of quantization matrices, the choices ofwhich one set to use will be left to lower level data structure tospecify. This will be discussed later in this disclosure.

For those sequence segments that references more than one set ofquantization matrix, all the quantization matrices are carried in thebeginning of a sequence. The decoder that has received all thequantization matrices shall keep these quantization in its memory in away that, when the decoder references a particular quantization matrix,all the look up tables, if there are any, associated with thequantization matrices will be ready to use. In implementing thespecification of the syntax, the capacity of the decoders has to betaken into consideration to fit the capacity limit into the applicationrequirement the decoders fit to. Therefore, the number of quantizationmatrices available in any given time shall not exceed a certain range.

In case that the decoder capacity does not allow storage of more thanone set of quantization matrices, whenever a new set of quantizationmatrices become needed, the previously stored quantization matrix sethas to be removed from decoder memory before the new one can be storedand become effective. This scenario becomes the same as that MPEG-2 hasused in its specification.

FIG. 12 is a diagram showing correspondence between quantizationmatrices carried as separate data and quantization matrices to be usedfor a sequence.

In the example shown in FIG. 12, it is described that quantizationmatrices Q-matrix 1 and Q-matrix 3 are used in a sequence SEQ1. It isalso described that quantization matrices Q-matrix 2, Q-matrix 4 andQ-matrix 5 are used in a sequence SEQ2, and a quantization matrixQ-matrix 4 is used in a sequence SEQ3.

Next, features in the syntax to support the use of quantization matrixare explained.

Quantization matrix can be fixed for an entire sequence or programs.

But the more flexible way to achieve better quality is to allowquantization scheme and quantization matrices to be changed dynamically.In such case, the issue is at what data level that kind of changesshould be allowed. It is understood that depending on complexity allowedby an application domain, there will be restriction on the number ofquantization matrix sets to be allowed at what data levels.

For all the stream data structure levels, that is, from sequence,segments, pictures, slices, to macroblocks, (macroblock has been used inalmost all codec standards to mean 16×16 block of pixels, however, thisdimension may change in proprietary or future codecs) we have in thebitstream a 6-bit flag containing the following bits (as shown inTable 1) to indicate what types of quantization are allowed to change atfrom one immediate lower level data to another. For example, in MPEG-4AVC, the immediate lower level of “Sequence” is “Picture” and theimmediate lower level of “Picture” is “Slice”.

TABLE 1 Bits representing quantization schemes and update rules Bit A 1bit for using only 4 × 4 uniform quantization Bit B 1 bit for using only4 × 4 non-uniform quantization scheme Bit C 1 bit for allowing 4 × 4quantization scheme changes—change from one quantization matrix set toanother or changes from uniform quantization scheme to non-uniformquantization scheme. Bit D 1 bit for using only 8 × 8 uniformquantization Bit E 1 bit for using only 8 × 8 non-uniform quantizationscheme Bit F 1 bit for allowing 8 × 8 quantization scheme changes—changefrom one quantization matrix set to another or changes from uniformquantization scheme to non-uniform quantization scheme.

Note that when only Bit A is set and Bit B is not set, Bit C cannot beset. Similarly, when only Bit D is set and Bit E is not set, Bit Fcannot be set.

When Bit B and Bit C are both set, it means quantization matrix set canchange from one to another. One quantization matrix set contains onematrix per block coding mode. The block coding mode can beintra-prediction of certain direction, inter-predicted block, abi-predicted block etc.

Bit C and Bit F indicate changes of quantization scheme or quantizationmatrix set or both. If the bit for 8×8 non-uniform quantization withquantization matrix is set in the Sequence level in MPEG-4 AVC, thequantization matrix used in one “Picture” data can be different fromother “Picture” data.

At the highest level of data syntax, such as sequence header, ifquantization matrix scheme is used, a default quantization set will bespecified.

When Bit C or Bit F is set for a data level, there will a flag for eachof the lower level data headers to indicate whether the defaultquantization matrix set will be used in these levels.

If the flag is positive in a lower data header, a new defaultquantization set for this data level will be defined and a 6-bit flagwill be used at this data level to indicate whether the default will bechanged in the further lower data level. This is followed in all datalevels until the lowest level or the lowest level permitted byapplication requirement.

When Bit C or Bit F is not set, there will not be this flag in lowerdata headers, and the default will be automatically assumed.

There can be restrictions applicable in this recursive signaling methodfor transmitting information on quantization schemes, for example,restriction by the frequency of quantization matrix changes that has tobe capped under a certain rate.

Next, default and customizable quantization matrices are explained.

In a video coding specification using non-uniform quantization matrixscheme, there may be several predefined matrices in a video codecspecification. These default or prescribed matrices are known bycompliant decoders and therefore there is no need to transfer thematrices to decoders. In similar way, these quantization matrices can bereferenced in the same way as described above. When prescribed matricesare available, decoder shall add received customized matrices into itspool of quantization matrices. As described above, distinctivequantization matrices are indexed by identification numbers, which areassigned by encoder and transmitted to decoders.

In organizing the quantization matrices in bitstream syntax, thequantization of the same size can be grouped together. Informationregarding whether a matrix should be used for inter-coded blocks orintra-coded blocks, or whether a matrix should be used for luma orchroma can also be noted in their attributes.

Next, update of a quantization matrix is explained.

Video codec bitstream syntax can allow quantization matrices alreadyknown to decoders to be added or updated.

When a quantization matrix is associated with a new identificationnumber, this matrix is taken as a new quantization matrix and can bereferenced by the new identification number. When the identificationnumber has already been associated with a quantization matrix, theexisting quantization matrix will be modified at decoders with the newmatrix. Only quantization matrix of the same size as the old one canreplace an old matrix. Encoder is responsible in keeping track of theactive quantization matrices. During transmission of the updatedquantization matrices, only the quantization matrix that needs to beupdated is defined in the network packets.

Next, carriage of quantization matrices in MPEG-4 AVC is explained.

In MPEG-4 AVC, all video data and headers are packed into a bitstreamlayer called Network Abstract Layer (NAL). NAL is a sequence of many NALunits. Each NAL unit carries certain type of video data or data headers.

MPEG-4 AVC also defines several picture data groups under one datahierarchy. The hierarchy starts at Sequence, which is described bySequence Parameter Set. A “Sequence” can have pictures using differentPicture Parameter Sets. Under “Picture”, there are slices, where sliceshave slice headers. A slice typically has many 16×16 blocks of pixels,called macroblocks.

When we introduce quantization matrix scheme into MPEG-4 AVC, we canhave user defined quantization matrices or encoder-provided matrices becarried over NAL units. The use of NAL units can be implemented in threedifferent ways.

(1) One NAL unit carries all the matrix information (includingquantization tables) associated with each of the matrices.

(2) Several NAL units each carries certain type of quantization matricesand their information.

(3) Each NAL unit carries the definition of one quantization matrix.

In the case (1) and (2), the NAL units will also provide the totalnumber of quantization matrices. In case 3, the total number ofuser-defined quantization matrices is not explicitly given by the videoelementary stream. Both encoder and decoder must count the total as theygo. An example of case 2 is when 4×4 quantization matrices and 8×8quantization matrices are grouped and each is carried in a NAL.

In the sequence parameter set, MPEG-4 shall specify which quantizationmatrices it will use. It will define the 6-bit flag to indicate whatquantization scheme will be used and whether it is allowed to change inthe next level that is picture level, whose header is Picture ParameterSet.

The sequence parameter set that references a subset of the definedquantization matrices shall list all the quantization matrix IDs, whichincludes those default to the video codec specification, and thosedefined specifically for the content by codec operators. Sequenceparameter sets can carry some common quantization parameters. A sequenceparameter set can declare a set of default quantization matrices eachfor inter and intra prediction for each 8×8 and 4×4 block for luma andinter and intra for chroma. Picture parameter set, slice header, andmacroblock level, however, can declare their own set of quantizationmatrices to override higher level specification. However thesequantization matrices must be available in the Sequence Parameter Setcurrently available.

When quantization matrices are carried over NAL units, they can betransmitted at the beginning of the bitstream of the sequence. Theposition can be that it can either be located after or before the NALunit carrying Sequence Parameter Sets. After the initial definition,additional customized quantization matrices can be inserted intobitstream to update or add new ones. The operation whether to add or toupdate is determined by the quantization matrix ID. If the ID exists, itis update. If the ID does not exist, the matrix will be added into thematrix pool.

Third Embodiment

Furthermore, if a program for realizing the moving picture coding methodand the moving picture decoding method as shown in each of theaforementioned embodiments are recorded on a recording medium such as aflexible disk, it becomes possible to easily perform the processingpresented in each of the above embodiments in an independent computersystem.

FIGS. 13A, 13B, and 13C are illustrations for realizing the movingpicture coding method and the moving picture decoding method describedin each of the above embodiments, using a program stored in a storagemedium such as a flexible disk in a computer system.

FIG. 13B shows an external view of a flexible disk viewed from thefront, its schematic cross-sectional view, and the flexible disk itself,while FIG. 13A illustrates an example physical format of the flexibledisk as a recording medium itself. The flexible disk FD is contained ina case F, and a plurality of tracks Tr are formed concentrically on thesurface of the flexible disk FD in the radius direction from theperiphery, each track being divided into 16 sectors Se in the angulardirection. Therefore, in the flexible disk storing the above-mentionedprogram, the program is recorded in an area allocated for it on theflexible disk FD.

Meanwhile, FIG. 13C shows the structure required for recording andreading out the program on and from the flexible disk FD. When theprogram realizing the above moving picture coding method and movingpicture decoding method is to be recorded onto the flexible disk FD,such program shall be written by the use of the computer system Cs via aflexible disk drive FDD. Meanwhile, when the moving picture codingmethod and the moving picture decoding method are to be constructed inthe computer system Cs through the program for realizing these methodson the flexible disk FD, the program shall be read out from the flexibledisk FD via the flexible disk drive FDD and then transferred to thecomputer system Cs.

The above description is given on the assumption that a recording mediumis a flexible disk, but an optical disc may also be used. In addition,the recording medium is not limited to this, and any other medium suchas an IC card and a ROM cassette capable of recording a program can alsobe used.

Fourth Embodiment

The following describes application examples of the moving picturecoding method and the moving picture decoding method as shown in theabove embodiments as well as a system using them.

FIG. 14 is a block diagram showing an overall configuration of a contentsupply system ex100 that realizes a content distribution service. Thearea for providing a communication service is divided into cells ofdesired size, and base stations ex107˜ex110, which are fixed wirelessstations, are placed in the respective cells.

In this content supply system ex100, devices such as a computer ex111, aPDA (Personal Digital Assistant) ex112, a camera ex113, a cellular phoneex114, and a camera-equipped cellular phone ex115 are respectivelyconnected to the Internet ex101 via an Internet service provider ex102,a telephone network ex104, and the base stations ex107˜ex110.

However, the content supply system ex100 is not limited to thecombination as shown in FIG. 14, and may be connected to a combinationof any of them. Also, each of the devices may be connected directly tothe telephone network ex104, not via the base stations ex107˜ex110,which are fixed wireless stations.

The camera ex113 is a device such as a digital video camera capable ofshooting moving pictures. The cellular phone may be a cellular phone ofa PDC (Personal Digital Communications) system, a CDMA (Code DivisionMultiple Access) system, a W-CDMA (Wideband-Code Division MultipleAccess) system or a GSM (Global System for Mobile Communications)system, a PHS (Personal Handyphone system) or the like, and may be anyone of these.

Furthermore, a streaming server ex103 is connected to the camera ex113via the base station ex109 and the telephone network ex104, whichenables live distribution or the like based on coded data transmitted bythe user using the camera ex113. Either the camera ex113 or a server andthe like capable of performing data transmission processing may code theshot data. Also, moving picture data shot by a camera ex116 may betransmitted to the streaming server ex103 via the computer ex111. Thecamera ex116 is a device such as a digital camera capable of shootingstill pictures and moving pictures. In this case, either the cameraex116 or the computer ex111 may code the moving picture data. In thiscase, an LSI ex117 included in the computer ex111 or the camera ex116performs coding processing. Note that software for picture coding anddecoding may be integrated into a certain type of storage medium (suchas a CD-ROM, a flexible disk and a hard disk) that is a recording mediumreadable by the computer ex111 and the like. Furthermore, thecamera-equipped cellular phone ex115 may transmit the moving picturedata. This moving picture data is data coded by an LSI included in thecellular phone ex115.

In this content supply system ex100, content (e.g. a music live video)which has been shot by the user using the camera ex113, the camera ex116or the like is coded in the same manner as the above-describedembodiments and transmitted to the streaming server ex103, and thestreaming server ex103 makes stream distribution of the content data toclients at their requests. The clients here include the computer ex111,the PDA ex112, the camera ex113, the cellular phone ex114 and so forthcapable of decoding the above coded data. The content supply systemex100 with the above configuration is a system that enables the clientsto receive and reproduce the coded data and realizes personalbroadcasting by allowing them to receive, decode and reproduce the datain real time.

The moving picture coding apparatus and moving picture decodingapparatus presented in the above embodiments can be used for coding anddecoding to be performed in each of the devices making up the abovesystem.

An explanation is given of a cellular phone as an example.

FIG. 15 is a diagram showing the cellular phone ex115 that employs themoving picture coding method and the moving picture decoding methodexplained in the above embodiments. The cellular phone ex115 has anantenna ex201 for transmitting/receiving radio waves to and from thebase station ex110, a camera unit ex203 such as a CCD camera capable ofshooting video and still pictures, a display unit ex202 such as a liquidcrystal display for displaying the data obtained by decoding video andthe like shot by the camera unit ex203 and video and the like receivedby the antenna ex201, a main body equipped with a set of operation keysex204, a voice output unit ex208 such as a speaker for outputtingvoices, a voice input unit ex205 such as a microphone for inputtingvoices, a recording medium ex207 for storing coded data or decoded datasuch as data of moving pictures or still pictures shot by the camera,data of received e-mails and moving picture data or still picture data,and a slot unit ex206 for enabling the recording medium ex207 to beattached to the cellular phone ex115. The recording medium ex207 isembodied as a flash memory element, a kind of EEPROM (ElectricallyErasable and Programmable Read Only Memory) that is an electricallyerasable and rewritable non-volatile memory, stored in a plastic casesuch as an SD card.

Next, referring to FIG. 16, a description is given of the cellular phoneex115. In the cellular phone ex115, a main control unit ex311 forcentrally controlling the display unit ex202 and each unit of the mainbody having the operation keys ex204 is configured in a manner in whicha power supply circuit unit ex310, an operation input control unitex304, a picture coding unit ex312, a camera interface unit ex303, anLCD (Liquid Crystal Display) control unit ex302, a picture decoding unitex309, a multiplexing/demultiplexing unit ex308, a recording/reproducingunit ex307, a modem circuit unit ex306, and a voice processing unitex305 are interconnected via a synchronous bus ex313.

When a call-end key or a power key is turned on by a user operation, thepower supply circuit unit ex310 supplies each unit with power from abattery pack, and activates the camera-equipped digital cellular phoneex115 to make it into a ready state.

In the cellular phone ex115, the voice processing unit ex305 converts avoice signal received by the voice input unit ex205 in conversation modeinto digital voice data under the control of the main control unit ex311comprised of a CPU, a ROM, a RAM and others, the modem circuit unitex306 performs spread spectrum processing on it, and a transmit/receivecircuit unit ex301 performs digital-to-analog conversion processing andfrequency transformation processing on the data, so as to transmit theresultant via the antenna ex201. Also, in the cellular phone ex115, datareceived by the antenna ex201 in conversation mode is amplified andperformed of frequency transformation processing and analog-to-digitalconversion processing, the modem circuit unit ex306 performs inversespread spectrum processing on the resultant, and the voice processingunit ex305 converts it into analog voice data, so as to output it viathe voice output unit ex208.

Furthermore, when sending an e-mail in data communication mode, textdata of the e-mail inputted by operating the operation keys ex204 on themain body is sent out to the main control unit ex311 via the operationinput control unit ex304. In the main control unit ex311, after themodem circuit unit ex306 performs spread spectrum processing on the textdata and the transmit/receive circuit unit ex301 performsdigital-to-analog conversion processing and frequency transformationprocessing on it, the resultant is transmitted to the base station ex110via the antenna ex201.

When picture data is transmitted in data communication mode, the picturedata shot by the camera unit ex203 is supplied to the picture codingunit ex312 via the camera interface unit ex303. When picture data is notto be transmitted, it is also possible to display such picture data shotby the camera unit ex203 directly on the display unit ex202 via thecamera interface unit ex303 and the LCD control unit ex302.

The picture coding unit ex312, which includes the moving picture codingapparatus according to the present invention, performs compressioncoding on the picture data supplied from the camera unit ex203 using thecoding method employed by the moving picture coding apparatus presentedin the above embodiment, so as to convert it into coded picture data,and sends it out to the multiplexing/demultiplexing unit ex308. At thistime, the cellular phone ex115 sends voices received by the voice inputunit ex205 while the shooting by the camera unit ex203 is taking place,to the multiplexing/demultiplexing unit ex308 as digital voice data viathe voice processing unit ex305.

The multiplexing/demultiplexing unit ex308 multiplexes the coded picturedata supplied from the picture coding unit ex312 and the voice datasupplied from the voice processing unit ex305 using a predeterminedmethod, the modem circuit unit ex306 performs spread spectrum processingon the resulting multiplexed data, and the transmit/receive circuit unitex301 performs digital-to-analog conversion processing and frequencytransformation processing on the resultant, so as to transmit theprocessed data via the antenna ex201.

When receiving, in data communication mode, moving picture file datawhich is linked to a Web page or the like, the modem circuit unit ex306performs inverse spread spectrum processing on the received signalreceived from the base station ex110 via the antenna ex201, and sendsout the resulting multiplexed data to the multiplexing/demultiplexingunit ex308.

In order to decode the multiplexed data received via the antenna ex201,the multiplexing/demultiplexing unit ex308 separates the multiplexeddata into a bitstream of picture data and a bitstream of voice data, andsupplies such coded picture data to the picture decoding unit ex309 andsuch voice data to the voice processing unit ex305 via the synchronousbus ex313.

Next, the picture decoding unit ex309, which includes the moving picturedecoding apparatus according to the present invention, decodes thebitstream of the picture data using the decoding method paired with thecoding method shown in the above-mentioned embodiment so as to generatemoving picture data for reproduction, and supplies such data to thedisplay unit ex202 via the LCD control unit ex302. Accordingly, movingpicture data included in the moving picture file linked to a Web page,for instance, is displayed. At the same time, the voice processing unitex305 converts the voice data into an analog voice signal, and thensupplies this to the voice output unit ex208. Accordingly, voice dataincluded in the moving picture file linked to a Web page, for instance,is reproduced.

Note that the aforementioned system is not an exclusive example andtherefore that at least either the moving picture coding apparatus orthe moving picture decoding apparatus of the above embodiment can beincorporated into a digital broadcasting system as shown in FIG. 17,against the backdrop that satellite/terrestrial digital broadcasting hasbeen a recent topic of conversation. To be more specific, at abroadcasting station ex409, a bitstream of video information istransmitted, by radio waves, to a satellite ex410 for communications orbroadcasting. Upon receipt of it, the broadcast satellite ex410transmits radio waves for broadcasting, an antenna ex406 of a houseequipped with satellite broadcasting reception facilities receives suchradio waves, and an apparatus such as a television (receiver) ex401 anda set top box (STP) ex407 decodes the bitstream and reproduces thedecoded data. The moving picture decoding apparatus as shown in theabove-mentioned embodiment can be implemented in the reproductionapparatus ex403 for reading and decoding the bitstream recorded on astorage medium ex402 that is a recording medium such as a CD and a DVD.In this case, a reproduced video signal is displayed on a monitor ex404.It is also conceivable that the moving picture decoding apparatus isimplemented in the set top box ex407 connected to a cable ex405 forcable television or the antenna ex406 for satellite/terrestrialbroadcasting so as to reproduce it on a television monitor ex408. Inthis case, the moving picture decoding apparatus may be incorporatedinto the television, not in the set top box. Or, a car ex412 with anantenna ex411 can receive a signal from the satellite ex410, the basestation ex107 or the like, so as to reproduce a moving picture on adisplay device such as a car navigation system ex413 mounted on the carex412.

Furthermore, it is also possible to code a picture signal by the movingpicture coding apparatus presented in the above embodiment and to recordthe resultant in a recording medium. Examples include a DVD recorder forrecording a picture signal on a DVD disc ex421 and a recorder ex420 suchas a disc recorder for recording a picture signal on a hard disk.Moreover, a picture signal can also be recorded in an SD card ex422. Ifthe recorder ex420 is equipped with the moving picture decodingapparatus presented in the above embodiment, it is possible to reproducea picture signal recorded on the DVD disc ex421 or in the SD card ex422,and display it on the monitor ex408.

As the configuration of the car navigation system ex413, theconfiguration without the camera unit ex203, the camera interface unitex303 and the picture coding unit ex312, out of the configuration shownin FIG. 16, is conceivable. The same is applicable to the computerex111, the television (receiver) ex401 and the like.

Concerning the terminals such as the cellular phone ex114, atransmitting/receiving terminal having both an encoder and a decoder, aswell as a transmitting terminal only with an encoder, and a receivingterminal only with a decoder are possible as forms of implementation.

As stated above, it is possible to employ the moving picture codingmethod and the moving picture decoding method presented in the aboveembodiments into any one of the above-described devices and systems.Accordingly, it becomes possible to achieve the effect described in theaforementioned embodiments.

It should also be noted that the present invention is not limited to theabove embodiments, and many variations or modifications thereof arepossible without departing from the scope of the invention.

Note that each function block in the block diagrams shown in FIGS. 3 and9 can be realized as an LSI that is a typical integrated circuitapparatus. Such LSI may be incorporated in one or plural chip form (e.g.function blocks other than a memory may be incorporated into a singlechip). Here, LSI is taken as an example, but, it can be called “IC”,“system LSI”, “super LSI” and “ultra LSI” depending on the integrationdegree.

The method for incorporation into an integrated circuit is not limitedto the LSI, and it may be realized with a private line or a generalprocessor. After manufacturing of LSI, a Field Programmable Gate Array(FPGA) that is programmable or a reconfigurable processor that canreconfigure the connection and settings for the circuit cell in the LSImay be utilized.

Furthermore, along with the arrival of technique for incorporation intoan integrated circuit that replaces the LSI owing to a progress insemiconductor technology or another technique that has derived from it,integration of the function blocks may be carried out using thenewly-arrived technology. Bio-technology may be cited as one of theexamples.

Among the function blocks, only a unit for storing data to be coded ordecoded may be constructed separately without being incorporated in achip form.

INDUSTRIAL APPLICABILITY

As described above, the moving picture coding method and the movingpicture decoding method according to the present invention are useful asmethods for coding pictures that make up a moving picture so as togenerate a coded stream and for decoding the generated coded stream, indevices such as a cellular phone, a DVD device and a personal computer.

The invention claimed is:
 1. A coding method for coding a pictureincluded in a moving picture by using a quantization matrix, said codingmethod comprising: generating a matrix ID identifying a quantizationmatrix different from a default quantization matrix; coding thequantization matrix identified by the matrix ID, in association with thematrix ID; coding a current picture using the quantization matrix togenerate data of the coded current picture; and adding the matrix IDidentifying the quantization matrix used in said coding of the currentpicture, to the data of the coded current picture, wherein the pictureis made up of a luma component, a first chroma component and a secondchroma component, and wherein said coding of the current picture, whenneither of the quantization matrix for the first chroma component andthe quantization matrix for the second chroma component is coded in saidcoding of the quantization matrix identified by the matrix ID, the firstchroma component and the second chroma component of the current pictureare coded using the quantization matrix for the luma component, insteadof the default quantization matrix, as the quantization matrix for thefirst chroma component and the second chroma component of the currentpicture, wherein a processor is configured to execute the generatingstep, coding steps and adding step.
 2. A coding method for coding apicture included in a moving picture by using a quantization matrix,said coding method comprising: generating a matrix identifieridentifying a quantization matrix different from a default quantizationmatrix, the default quantization matrix differing for intra-picturecoding and inter-picture coding; coding the quantization matrixidentified by the matrix identifier, in association with the matrixidentifier; coding a current picture using the quantization matrix togenerate data of the coded current picture; and adding the matrixidentifier identifying the quantization matrix used in said coding ofthe current picture, to the data of the coded current picture, whereinthe picture is made up of a luma component, a first chroma component anda second chroma component, and wherein in said coding of the currentpicture, when neither of a first quantization matrix for the firstchroma component and a second quantization matrix for the second chromacomponent is coded in said coding of the quantization matrix identifiedby the matrix identifier, but a third quantization matrix for the lumacomponent is available, the first chroma component and the second chromacomponent of the current picture are coded using the third quantizationmatrix for the luma component, instead of the default quantizationmatrix that differs for intra-picture coding and inter-picture coding,as the quantization matrix for the first chroma component and the secondchroma component of the current picture, wherein a processor isconfigured to execute the generating step, coding steps and adding step.